home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / graphic / fix43.zip / FIX43OFF.ASM < prev    next >
Assembly Source File  |  1988-05-26  |  1KB  |  57 lines

  1.  title FIX43OFF -- turn off FIX43 resident module
  2.  
  3. comment #
  4.  
  5. The cursor in 43 line is fleeting, at best.  The resident FIX43 fixes
  6. that by checking for 8x8 characters every timer interrupt, and if the
  7. EGA is in 8x8 mode, the cursor start and end lines are set to their
  8. proper values.  This program disables FIX43 by finding it and setting
  9. the enable byte to 0.
  10.  
  11. #
  12.  
  13. ;
  14. ; Program segment.
  15. ;
  16.  
  17. fix43off segment
  18.  assume CS:fix43off,DS:fix43off,ES:fix43off,SS:fix43off
  19.  
  20. ;
  21. ; Start of .COM code.
  22.  org 100h
  23. start:
  24.   jmp cpyrt
  25.    db 13,'FIX43OFF version 1.0  Copyright (C) 1988  Mark Adler',13,10
  26.    db 'All rights reserved.',13,10,'Z'-64
  27.  cpyrt:
  28.  ;
  29.   mov DX,DS             ;Start checking backwards from this segment.
  30.   cld
  31.  search:
  32.    dec DX
  33.    jz nowhere
  34.    mov SI,offset id     ;Point DS:SI to id string to look for.
  35.    mov ES,DX            ;Point ES:DI to where to look.
  36.    sub DI,DI            ;The id string should be on a 16 byte boundary.
  37.    mov CX,idlen
  38.    repe cmpsb
  39.    jne search           ;If no match, look one back.
  40.   mov AL,0              ;Turn FIX43 off.
  41.   stosb                 ;Enable byte immediately follows id string.
  42.   int 20h               ;Return.
  43.  
  44.  nowhere:
  45.   mov DX,offset err     ;FIX43 not there---display error message,
  46.   mov AH,9
  47.   int 21h
  48.   int 20h               ; and return.
  49.  
  50.  id db 'FIX43TSR'
  51.  idlen equ $-id
  52.  err db '?FIX43 not installed',13,10,'$'
  53.  
  54. fix43off ends
  55.  
  56. end start
  57.